Formal Reasoning About Non-atomic Java Card Methods in Dynamic Logic
نویسنده
چکیده
We present an extension to JAVA CARD Dynamic Logic, a program logic for reasoning about JAVA CARD programs, to handle JAVA CARD’s so-called non-atomic methods. Although JAVA CARD DL already supports the atomic transaction mechanism of JAVA CARD, non-atomic methods present an additional challenge: state updates triggered by such a non-atomic method are not subjected to any transaction that may possibly be in progress. The semantics of a non-atomic method itself seems to be simple and straightforward to formalise, however experimental studies showed that non-atomic methods affect the whole semantics of the JAVA CARD transaction mechanism in a subtle way, in particular, it affects the notion of a transaction roll-back. In this paper we show how to adapt JAVA CARD DL to accommodate this newly discovered complex transaction behaviour. The extension completes the formalisation of all of JAVA CARD in Dynamic Logic.
منابع مشابه
A Case Study in Formal Verification Using Multiple Explicit Heaps
In the context of the KeY program verifier and the associated Dynamic Logic for Java we discuss the first instance of applying a generalised approach to the treatment of memory heaps in verification. Namely, we allow verified programs to simultaneously modify several different, but possibly location sharing, heaps. In this paper we detail this approach using the Java Card atomic transactions me...
متن کاملFormal Development of Safe and Secure Java Card Applets
This thesis is concerned with formal development of JAVA CARD applets. JAVA CARD is a technology that provides a means to program smart cards with (a subset of) the JAVA language. In recent years JAVA CARD technology gained great interest in the formal verification community. There are two reasons for this. Due to the sensitive nature (e.g., security, maintenance costs) of JAVA CARD applets, fo...
متن کاملDynamic Frames in Java Dynamic Logic
In this paper we present a realisation of the concept of dynamic frames in a dynamic logic for verifying Java programs. This is achieved by treating sets of heap locations as first class citizens in the logic. Syntax and formal semantics of the logic are presented, along with sound proof rules for modularly reasoning about method calls and heap dependent symbols using specification contracts.
متن کاملTechnical Report no . 2003 - 05 The KeY Tool 1 Wolfgang Ahrendt
KeY is a tool that provides facilities for formal specification and verification of programs within a commercial platform for UML based software development. Using the KeY tool, formal methods and object-oriented development techniques are applied in an integrated manner. Formal specification is performed using the Object Constraint Language (OCL), which is part of the UML standard. KeY provide...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006